import Vue from 'vue'
import Router from 'vue-router'

import Home from '../views/Home'

import Cate from '../views/Cate'

import Goods from '../views/Goods'

import User from '../views/User'

import NotFound from '../views/NotFound'


import Login from '../views/Login'
Vue.use(Router)

let router = new Router({
  // mode:'history',
  routes: [
    {
      path: '/', redirect: "/home",
    },
    {
      path: "/home", component: Home
    },
    {
      path: "/cate", component: Cate
    },
    {
      path: "/goods", component: Goods
    },
    {
      path: "/user", component: User
    },
    {
      path: '/login', component: Login
    },

    {
      path: "*", component: NotFound
    }
  ]
})



//路由导航守卫 
//  to 表示去哪里
//  from  表示来自哪里
//  next 放行    必须要执行next()  如果没有执行则走不了 
let flag = true  //  表示已经登录 了   flag 表示没有登录
localStorage.setItem('isLogin', flag)


router.beforeEach((to, from, next) => {


  let flag = localStorage.getItem('isLogin')



  if (flag == 'false') {
    flag = false
  } else {
    flag = true
  }

  //  一进来进入登录页面 
  if (to.path == '/login') {
    next()
  } else {
    // 如果不是登录页面 但是 如果登录了 则直接走 
    //  如果不是登录页面 但是 没有登录则 跳回到登录 


    
    //  先登录成功了 然后 点击了退出按钮 返回到登录页面 同时要清空本地缓存的token并且 vuex的数据
    // 里面的isLogin 也需要清空  那么在app或者login 页面重新去获取本地缓存或者vuex 的值 判断有没有
    // 如果没有那么直接显示的login 页面 其他页面都不显示

    if (flag) {
      next()
    } else {
      next('/login')
    }


  }


})




export default router

